home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / PSC Alert 267259202001.psc / basSOUND.bas < prev    next >
Encoding:
BASIC Source File  |  2001-03-16  |  1.3 KB  |  34 lines

  1. Attribute VB_Name = "basSOUND"
  2. Option Explicit
  3. Private Declare Function sndPlaySound Lib "winmm" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
  4. Private Const SND_SYNC = &H0        ' Play synchronously (default).
  5. Private Const SND_NODEFAULT = &H2    ' Do not use default sound.
  6. Private Const SND_MEMORY = &H4
  7. Private Const SND_LOOP = &H8         ' Loop the sound until next
  8. Private Const SND_NOSTOP = &H10      ' Do not stop any currently
  9. Private Const SND_ASYNC = &H1          '  play asynchronously
  10. Private bytSound() As Byte ' Always store binary data in byte arrays!
  11. Public Enum SoundFlags
  12.     soundSYNC = SND_SYNC
  13.     soundNO_DEFAULT = SND_NODEFAULT
  14.     soundMEMORY = SND_MEMORY
  15.     soundLOOP = SND_LOOP
  16.     soundNO_STOP = SND_NOSTOP
  17.     soundASYNC = SND_ASYNC
  18. End Enum
  19. Public Enum AppSounds
  20.     appsnd_ALERT = 101
  21. End Enum
  22. Public Sub PlayWaveRes(vntResourceID As AppSounds, Optional vntFlags As SoundFlags = soundASYNC)
  23.     bytSound = LoadResData(vntResourceID, "WAVE")
  24.     If IsMissing(vntFlags) Then
  25.         vntFlags = SND_NODEFAULT Or SND_SYNC Or SND_MEMORY
  26.     End If
  27.     If (vntFlags And SND_MEMORY) = 0 Then
  28.         vntFlags = vntFlags Or SND_MEMORY
  29.     End If
  30.     sndPlaySound bytSound(0), vntFlags
  31. End Sub
  32.  
  33.  
  34.